home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / surfsrc3.zip / PARAMENU.INC < prev    next >
Text File  |  1991-09-28  |  3KB  |  83 lines

  1. procedure PARAMENU;
  2. { Parameters menu to change constants, select options, read a new file,
  3.   or save current settings }
  4.  
  5. var Cmmd: integer;         { user's inputted choice }
  6.     c: char;               { input character }
  7.  
  8. begin
  9.   repeat
  10.     openwin (13,6,67,21, TRUE);
  11.     gotoXY (19,1);
  12.     writeln ('PARAMETERS MENU');
  13.     writeln; writeln;
  14.     writeln ('1  Change Lighting Parameters');
  15.     writeln ('2  Eye Coordinates (',Xeye:7:2,',',Yeye:7:2,',',Zeye:7:2,')');
  16.     writeln ('3  Focal Point (',Xfocal:7:2,',',Yfocal:7:2,',',Zfocal:7:2,')');
  17.     writeln ('4  Magnification (',Magnify:7:2,')');
  18.     write   ('5  View Type (');
  19.     if (Viewtype = 0) then
  20.       writeln ('Perspective)')
  21.     else if (Viewtype = 1) then
  22.       writeln ('X-Y)')
  23.     else if (Viewtype = 2) then
  24.       writeln ('X-Z)')
  25.     else
  26.       writeln ('Y-Z)');
  27.     writeln ('6  Save Params (', Inifile,')');
  28.     writeln ('0  Return To Main Menu');
  29.     writeln;
  30.     write ('Command: ');
  31.     Cmmd := getkey;
  32.     if (Cmmd < 0) or ((Cmmd > 8) and (Cmmd <> 10)) then
  33.       write(^G)
  34.     else begin
  35.       writeln (Cmmd);
  36.       case Cmmd of
  37.         1: litemenu;
  38.         2: begin
  39.           writeln ('Enter new Eye Coordinates.');
  40.           Xeye := getonereal (Xeye, -99999.0, 99999.0, 'X of Eye');
  41.           Yeye := getonereal (Yeye, -99999.0, 99999.0, 'Y of Eye');
  42.           Zeye := getonereal (Zeye, -99999.0, 99999.0, 'Z of Eye');
  43.           Viewchanged := TRUE;
  44.         end; { 3: }
  45.         3: begin
  46.           writeln ('Enter new Focal Point Coordinates.');
  47.           Xfocal := getonereal (Xfocal, -99999.0, 99999.0, 'X of Focal Point');
  48.           Yfocal := getonereal (Yfocal, -99999.0, 99999.0, 'Y of Focal Point');
  49.           Zfocal := getonereal (Zfocal, -99999.0, 99999.0, 'Z of Focal Point');
  50.           Viewchanged := TRUE;
  51.         end; { 4: }
  52.         4: begin
  53.           Magnify := getonereal(Magnify, 0.0, 99999.0, 'Magnification Factor');
  54.           Viewchanged := TRUE;
  55.         end; { 5: }
  56.         5: begin
  57.           writeln ('A view type of 0 does perspective plotting.');
  58.           writeln ('  1 gives an X-Y plot, 2 gives X-Z, and 3 gives Y-Z.');
  59.           Viewtype := getoneint (Viewtype, 0, 3, 'View Type');
  60.           writeln ('Do you want to show axes (Y/N)? ');
  61.           c := readkey;
  62.           writeln (c);
  63.           if (upcase (c) = 'Y') then
  64.             Showaxes := 1
  65.           else
  66.             Showaxes := 0;
  67.           if (Showaxes > 0) then begin
  68.             writeln ('Enter a real-coordinate length for each axis.');
  69.             Xaxislen := getonereal (Xaxislen, 0.0, 99999.0, 'X Axis Length');
  70.             Yaxislen := getonereal (Yaxislen, 0.0, 99999.0, 'Y Axis Length');
  71.             Zaxislen := getonereal (Zaxislen, 0.0, 99999.0, 'Z Axis Length');
  72.             Axiscolor := getoneint (Axiscolor, 1, Ncolors, 'Axis Color');
  73.           end; { if Showaxes }
  74.           Viewchanged := TRUE;
  75.         end; { 6: }
  76.         6: writecfg;
  77.         10:; { Return to Main Menu }
  78.         0:;  { Return to Main Menu }
  79.       end; { case Cmmd }
  80.     end;
  81.   until (Cmmd = 0) or (Cmmd = 10)
  82. end; { procedure Paramenu }
  83.